package com.enjoyor.soa.traffic.api.ubms.service.dubbo;

import com.enjoyor.soa.traffic.api.ubms.dto.ParkDevLaneRltDto;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

/**
 * 维护停车场采集设备-车道关系的Dubbo服务
 * @author yuankun
 * @version V1.0
 */
public interface DubboParkDevLaneRltService {
	/**
	 * 返回所有停车场设备-车道关系
	 * @return ResultPojo 所有停车场设备-车道关系
	 */
	public ResultPojo getParkDevLaneRlt();
	
	/**
	 * 分页返回所有停车场设备-车道关系
	 * @param page 分页对象
	 * @return ResultPojo 所有停车场设备-车道关系
	 */
	@SuppressWarnings("rawtypes")
	public ResultPojo getPageParkDevLaneRlt(Page page);
	/**
	 * 返回所有停车场设备-车道关系
	 * @param orderSeq 
	 * @param pdevId 
	 * @param rltId 
	 * @return ResultPojo 所有停车场设备-车道关系
	 */
	public ResultPojo getParkDevLaneRlt(String rltId, String pdevId, String orderSeq);
	
	/**
	 * 分页返回所有停车场设备-车道关系
	 * @param orderSeq 
	 * @param pdevId 
	 * @param rltId 
	 * @param page 分页对象
	 * @return ResultPojo 所有停车场设备-车道关系
	 */
	@SuppressWarnings("rawtypes")
	public ResultPojo getPageParkDevLaneRlt(String rltId, String pdevId, String orderSeq, Page page);
	
	/**
	 * 返回指定编码的停车场设备-车道关系
	 * @param rltId 关系编码
	 * @return ResultPojo 停车场设备-车道关系
	 */
	public ResultPojo getParkDevLaneRltById(String rltId);
	
	/**
	 * 返回指定设备编码的停车场设备-车道关系
	 * @param pdevId 设备编码
	 * @return ResultPojo 停车场设备-车道关系
	 */
	public ResultPojo getParkDevLaneRltByPdevId(String pdevId);
	
	/**
	 * 分页返回指定设备编码的停车场设备-车道关系
	 * @param pdevId 设备编码
	 * @param page 分页对象
	 * @return ResultPojo 停车场设备-车道关系
	 */
	@SuppressWarnings("rawtypes")
	public ResultPojo getPageParkDevLaneRltByPdevId(String pdevId, Page page);
	
	/**
	 * 返回关系编码的最大值，用于手工添加新的关系编码
	 * @return String 关系编码最大值
	 */
	public String getMaxRltId();
	
	/**
	 * 添加一条停车场设备-车道关系
	 * @param token 以逗号分隔的输入信息，如用户名等
	 * @param parkDevLaneRltDto 停车场设备-车道关系
	 * @return ResultPojo 添加结果
	 */
	public ResultPojo addParkDevLaneRlt(String token, ParkDevLaneRltDto parkDevLaneRltDto);
	
	/**
	 * 修改一条停车场设备-车道关系
	 * @param token 以逗号分隔的输入信息，如用户名等
	 * @param parkDevLaneRltDto 停车场设备-车道关系
	 * @return ResultPojo 添加结果
	 */
	public ResultPojo editParkDevLaneRlt(String token, ParkDevLaneRltDto parkDevLaneRltDto);
	
	/**
	 * 删除指定关系编码的停车场设备-车道关系
	 * @param token 以逗号分隔的输入信息，如用户名等
	 * @param rltId 关系编码
	 * @return ResultPojo 删除结果
	 */
	public ResultPojo removeParkDevLaneRltById(String token, String rltId);
	
	/**
	 * 删除指定设备编码的停车场设备-车道关系
	 * @param token 以逗号分隔的输入信息，如用户名等
	 * @param pdevId 设备编码
	 * @return ResultPojo 删除结果
	 */
	public ResultPojo removeParkDevLaneRltByPdevId(String token, String pdevId);
}
